home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE08 / MODEL / EMAIN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-03-11  |  2.6 KB  |  108 lines

  1. unit EMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, ExtCtrls, StdCtrls, Electric, Buttons, Spin;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Image1: TImage;
  12.     Label2: TLabel;
  13.     Label3: TLabel;
  14.     SpeedButton1: TSpeedButton;
  15.     Battery1: TBattery;
  16.     Switch1: TSwitch;
  17.     Resistor1: TResistor;
  18.     Lamp1: TLamp;
  19.     Conductor1: TConductor;
  20.     SpinEdit1: TSpinEdit;
  21.     SpinEdit2: TSpinEdit;
  22.     Label4: TLabel;
  23.     Label5: TLabel;
  24.     Resistor2: TResistor;
  25.     SpinEdit3: TSpinEdit;
  26.     Label6: TLabel;
  27.     Label7: TLabel;
  28.     Label8: TLabel;
  29.     Label9: TLabel;
  30.     Label10: TLabel;
  31.     Label11: TLabel;
  32.     SpinEdit4: TSpinEdit;
  33.     Label1: TLabel;
  34.     Label12: TLabel;
  35.     Label13: TLabel;
  36.     procedure Resistor1AfterRun(Sender: TObject);
  37.     procedure Lamp1AfterRun(Sender: TObject);
  38.     procedure SpeedButton1Click(Sender: TObject);
  39.     procedure SpinEdit1Change(Sender: TObject);
  40.     procedure SpinEdit2Change(Sender: TObject);
  41.     procedure SpinEdit3Change(Sender: TObject);
  42.     procedure Resistor2AfterProcess(Sender: TObject);
  43.     procedure SpinEdit4Change(Sender: TObject);
  44.   private
  45.     { Private declarations }
  46.   public
  47.     { Public declarations }
  48.   end;
  49.  
  50. var
  51.   Form1: TForm1;
  52.  
  53. implementation
  54.  
  55. {$R *.DFM}
  56.  
  57. procedure TForm1.Resistor1AfterRun(Sender: TObject);
  58. begin
  59.   Label2.Caption := IntToStr((Sender as TResistor).Current);
  60.   Label8.Caption := IntToStr((Sender as TResistor).Potential);
  61. end;
  62.  
  63. procedure TForm1.Lamp1AfterRun(Sender: TObject);
  64. begin
  65.   if (Sender as TLamp).LampOn then Label3.Caption := 'On'
  66.   else Label3.Caption := 'Off';
  67. end;
  68.  
  69. procedure TForm1.SpeedButton1Click(Sender: TObject);
  70. begin
  71.   Switch1.Enabled := not Switch1.Enabled;
  72.   if SpeedButton1.Caption = 'On' then SpeedButton1.Caption := 'Off'
  73.   else SpeedButton1.Caption := 'On';
  74.   Battery1.Run;
  75. end;
  76.  
  77. procedure TForm1.SpinEdit1Change(Sender: TObject);
  78. begin
  79.   Resistor1.Resistance := SpinEdit1.Value;
  80.   Battery1.Run;
  81. end;
  82.  
  83. procedure TForm1.SpinEdit2Change(Sender: TObject);
  84. begin
  85.   Battery1.Potential := SpinEdit2.Value;
  86.   Battery1.Run;
  87. end;
  88.  
  89. procedure TForm1.SpinEdit3Change(Sender: TObject);
  90. begin
  91.   Resistor2.Resistance := SpinEdit3.Value;
  92.   Battery1.Run;
  93. end;
  94.  
  95. procedure TForm1.Resistor2AfterProcess(Sender: TObject);
  96. begin
  97.   Label6.Caption := IntToStr((Sender as TResistor).Current);
  98.   Label10.Caption := IntToStr((Sender as TResistor).Potential);
  99. end;
  100.  
  101. procedure TForm1.SpinEdit4Change(Sender: TObject);
  102. begin
  103.   Battery1.Current := SpinEdit4.Value;
  104.   Battery1.Run;
  105. end;
  106.  
  107. end.
  108.